約 4,733,928 件
https://w.atwiki.jp/knight_9999/pages/19.html
トップページ Android OpenGLES レイアウト部品を隠す マルチパートでポスト アクションバーの設置 スレッド処理 BASIC認証
https://w.atwiki.jp/tmmt/pages/30.html
インストールして良かったアプリ Androidの優良アプリを淡々と紹介していくよ スマートフォン売ってるけど質問ある?
https://w.atwiki.jp/r1025/pages/51.html
~%~%~%~%~%~%~%~%~% ■ Androidアプリ開発環境 トータル: - /今日: - /昨日: -
https://w.atwiki.jp/novita/pages/13.html
Android開発環境を整える OS : Ubuntu 10.04 LTS CPU Celerom RAM 1 GB 上記のように非力なものの普通に動きます。
https://w.atwiki.jp/derax7/pages/18.html
Android クリックイベント Button start = (Button) findViewById(R.id.start); start.setOnClickListener(new OnClickListener() { public void onClick(View v) { //処理 } }); 状態保持 // ハイスコア読み込み SharedPreferences pref; pref = this.getSharedPreferences("PreferencesEx", Activity.MODE_PRIVATE); int stage = pref.getInt("stage", 0); // ハイスコアの書き込み pref = getContext().getSharedPreferences( "PreferencesEx", Activity.MODE_PRIVATE); SharedPreferences.Editor editor = pref.edit(); editor.putInt("stage", level); editor.commit(); isFinishing()で終了状態取得 isFinishing()を利用すると、Activityの終了状態を判別できる 画面遷移の種類 -Intentを飛ばした場合 false -ホームボタンを押した場合 false -戻るボタンを押した場合 true Androidで音を鳴らす。[SoundPool編] SoundPoolクラスの場合、基本は下記の3処理。 ①SoundPoolを new して、 ②音声ファイル読み込んで、 ③再生する SoundPool soundPool = new SoundPool(5,AudioManager.STREAM_MUSIC, 0); // ① int soundID = soundPool.load(context, R.raw.lalala, 1); // ② soundPool.play(soundID, 1.0F, 1.0F, 1, 0, 1.0F); // ③ 【①の補足】 public SoundPool (int maxStreams, int streamType, int srcQuality) 引数: maxStreams … このSoundPoolオブジェクトで同時に扱う音声(Stream)の最大数 streamType … 音声(stream)の種類。 AudioManagerクラスに定義されている srcQuality … サンプルレートの質。(現在はまだ未使用。 0 を使えとのこと) 返り値: 成功なら、SoundPoolオブジェクト 失敗なら、null 【②の補足】 音声ファイルは、res/raw/lalala.ogg に設置したという想定。ResourceIDは R.raw.lalala になる。ここから想像できると思うが、同フォルダに lalala.wav や lalala.mp3 を設置しても区別がつかない。 ちなみに、音声ファイルを安定再生するためには oggファイルが良いとのこと。 public int load (Context context, int resId, int priority) 引数: context … コンテキスト resId … 音声ファイルのリソースID priority … 優先度サンプルレートの質。(現在はまだ未使用。将来互換性のため 1 を使え) 返り値: sound ID (再生時に使用) 【③の補足】 public final int play (int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate) 引数: soundID … load()メソッドで返される soundID leftVolume … 音量[左] (範囲:0.0~1.0) rightVolume … 音量[右] (範囲:0.0~1.0) priority … ストリーム優先度 (0 = 優先度最低) loop … ループの回数 (0 = ループ無し、-1 = 無限ループ) rate … 再生レート (1.0 = 標準の再生, 範囲:0.5~2.0) 返値 成功なら、streamID(≠0) 失敗なら、0 IntentへのExtra付加 intent.putExtra("hoge", String s); getIntent().getExtras().getString("hoge"); drawableからbitmap変換 Resources res = this.getResources(); // 画像の読み込み Bitmap bm = BitmapFactory.decodeResource(res, R.drawable.blue); Intent時のタスクについて マニフェストでアクティビティに以下のオプションを追加すると、シングルタスク(新タスクを別タスクとして記憶せず、自身に積み重ねる)モードになる。HOME画面等に設定。 android launchMode="singleTask" アイコンの作成 http //android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html Spinnerの初期値設定 spinner.setSelection(0); プログレスダイアログ progressDialog = new ProgressDialog(CoordinateActivity.this); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.setMessage("処理を実行中です..."); progressDialog.setCancelable(true); progressDialog.show(); (・・・処理・・・) progressDialog.dismiss(); ダイアログのカスタム OnCreateDialog(int id){・・・}内でレイアウト等の適用ができる。ダイアログ生成前に呼び出され、returnでダイアログを返してやる ボタンへのクリックリスナー追加 (Button)btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(GalleryActivity.this, Main.class); startActivity(intent); } }); エラー関連 以下のエラーがでた時はどうやらメモリリークっぽい。 端末再起動で直るけど、リーク箇所の特定をしたほうがよさそう Failed to install XXX.apk on device HT0B8RX02778 Too many open files 【View】子Viewの追加&削除 追加:view.addView(child); 削除;view.removeView(child); 全削除:view.removeAllViews(); カメラにIntentを飛ばして起動 // Intent for Camera Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(i, REQUEST_CODE_CAMERA); 保存先はExtraで指定 File tmpPict = new File(Environment.getExternalStorageDirectory(), "/hogehoge/" + System.currentTimeMillis() + ".jpg"); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tmpPict)); 結果をActivityResultで受け取り処理。 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE_CAMERA) { 【View】layout.xmlの読み込み setContentView(R.layout.main); これは View v = this.getLayoutInflater().inflate(R.layout.main, null); setContentView(v) と置き換えられる(→addView()などに) 端末画面サイズ取得 WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); Log.d("display", "w " + display.getWidth()); Log.d("display", "h " + display.getHeight()); ロケールの取得 Locale locale = Locale.getDefault(); Log.v("ロケールは", locale.toString()); 以下のようにロケール別に分岐できる if (locale.equals(Locale.JAPAN)) { ・・・・・ } 画面遷移 intentを飛ばして画面遷移 Intent intent = new Intent(this.context, 遷移先.class); startActivity(intent); ※manifestへのactivityの追加を忘れないこと! 【View】idから呼び出し TextView textViewData = (TextView)findViewById(R.id.hoge); textViewData.setText("hogehoge"); onClick()内でのボタン選別 @Override public void onClick(View v) { switch (v.getId()) { case R.id.button_animation Intent intent = new Intent(this, Animation.class); startActivity(intent); break; case R.id.button_sub Intent intent2 = new Intent(this, Sub.class); startActivity(intent2); break; default break; } } SharedPreference云々 SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(this); Editor ed = SP.edit(); AdMob 最近仕様が変わったらしい AdMob導入の注意点 アニメーション private Handler myHandler = new Handler() { @Override public void handleMessage(Message msg) { if (isAttached) { // 移動処理 move(); // 再描画 invalidate(); sendEmptyMessageDelayed(0, DELAY_MILLIS); } } }; http //www.adamrocker.com/blog/181/android_animation.html
https://w.atwiki.jp/bloodysnow/pages/23.html
Android携帯でやりたいこと 青空文庫 PC用メール閲覧 webブラウズ twitter 2ch ニコ動 囲碁 Skype MSNメッセ mixi 音楽 マンガ Evernote
https://w.atwiki.jp/kokochyao/pages/13.html
使用したPSP用のスーファミエミュレータ 注意※ PSP用のスーファミのエミュレータは他のバージョンでしようするとCWCのコードが違います。 s9xTYLcm091127 mod r26を使用してます。 ダウンロード s9xTYLcm_mod s9xTYLcm091127 mod r26
https://w.atwiki.jp/installmaniax3/pages/88.html
Android 開発講座 教科書1:オライリー・ジャパン 初めてのAndroid(ISBN-10 4873114098,ISBN-13 978-4873114095) 教科書2:オブジェクト倶楽部 Javaコーディング標準 1回目 1 Android開発入門Ⅰ(セミナーとしても利用可能) ・ツールのインストール ・最初のプログラmング開発 ・エミュレーター上での実行 2 Android開発入門Ⅱ ・Androidの構成 2回目 3 機能設計 4 ユーザインタフェースの設計 3回目 5 Java言語 6 Android開発入門Ⅰ(2Dグラフィック) 4回目 7 Android開発入門Ⅱ(マルチメディア) 8 Android開発入門Ⅲ(データの保存) 5回目 9 Android基本開発実習(設計) 10 Android基本開発実習(開発) 6回目 11 Android基本開発実習(試験) 12 Android応用開発実習Ⅰ(ネットワーク) 7回目 13 Android応用開発実習Ⅱ(位置情報) 14 Android応用開発実習Ⅲ(SQL) 8回目 15 Android基本開発実習Ⅳ(3Dグラフィックス) 16 Android マーケットへの登録 名前 コメント
https://w.atwiki.jp/gpdwin/pages/46.html
GPD-WINは通常のノートPCと同じ仕様であり、 ブートローダーがUEFI64bitなので様々なLinuxディストリビューションが動作します。 Android-x86 6.0 rc1 初期状態でUSBからブートローダー起動します。 ただし無線LANとタッチパネルが動作しません。 CyanogenMOD-x86 13.0 rc1 初期状態でUSBからブートローダー起動します。 こちらは無線LANとタッチパネルが動作します。
https://w.atwiki.jp/tako2lab/pages/33.html
QUASI88 for Android Android 1.6 以上で動作する PC-8801 エミュレータです。 QUASI88 0.6.3 を使っています。 開発中につき、限定的に公開しています。 ダウンロード 注意事項を読み、自己責任の上で使用してください。 quasi88_android_130609.apk Nexus7 でファイルが見えない不具合への対応 ※アプリ選択(□が2つ重なっているアイコン)を押すと画面が乱れるので、アプリを起動しなおす必要があります。 「設定」⇒「アプリケーション」⇒「アプリケーション管理」⇒「QUASI88」⇒「強制停止」でなければ完全に終了しなくなっています。(原因不明ですが、バッテリーを無駄に消費しかねないので、注意してください。) 過去のバージョン (20120702バージョン) quasi88_android_120702.apk 全画面表示に対応 キーコンフィグファイルに対応(keyconf.rc) ※設定方法は後述 DPAD の方向キーはジョイスティックの方向キーへ割り当て変更 AB ボタンはジョイスティックの AB ボタンへ割り当て変更 LR ボタンは F6、F7 へ割り当て変更 デフォルトで F6 はドライブ1のディスク交換、F7 はドライブ2のディスク交換 START は F9、SELECT は F10 へ割り当て変更 デフォルトで F9 は PAUSE、F10 は MAX-BOOST メニュー画面で START ボタンを押すとリセットがかかるように メニュー画面で SELECT ボタンを押すとメニュー画面から戻るように アプリサイズの削減 UI 変更(ボタン削除) 過去のバージョン @wiki では 1MB 以上のファイルをアップロードできないため、7-zip で分割しています。 パスワードは「android」です。 quasi88_android_110918.7z.001 quasi88_android_110918.7z.002 仮想キーに対応しました。 2.1 の中華パッドでは仮想キーの反応が悪かったので、とにかく速いデバイスでないといけないようです。 quasi88_android_110819.7z.001 quasi88_android_110819.7z.002 quasi88_android_110515.7z.001 quasi88_android_110515.7z.002 インストール SD カードを使います。 次のディレクトリやファイルを参照するので、適宜作成します。 /sdcard/QUASI88 /sdcard/QUASI88/quasi88.rc /sdcard/QUASI88/keyconf.rc /sdcard/QUASI88/ROM /sdcard/QUASI88/DISK 使用方法 QUASI88 の使用方法に従ってファイルを準備してください。 HALF サイズで起動するので、FULL で起動したい場合、quasi88.rc に -full オプションを書き足します。 画面サイズを見て起動するようにしましたが、デバイスの画面によっては変なことになるかもしれません。 全画面表示で起動したい場合、quasi88.rc に -fullscreen オプションを書き足します。 起動直後はメニュー画面になります。 「F12」ボタンで PC 画面からメニュー画面になります。 メニューの「MENU」を選択すると、メニュー画面になります。 アプリの終了は「EXIT」ボタンを使います。 アプリの終了はメニューの「EXIT」から行います。 「F6」~「F10」ボタンの割り当ては、メニューの「キー」から行います。(デフォルトは「キー」を確認のこと。) 「VKey」ボタンを押すごとに仮想キーが出たり消えたり切り替わったりします。 検索ボタンを押すごとに仮想キーの表示が切り替わります。 仮想キーの 2468 キーを方向キーとして使いたい場合、「キー」から設定します。 仮想キーの XY キーの割り当ては「メニュー」から設定します。 設定は保存されません。 ハードウェアキーは「メニュー」キーに "RETURN"、「戻る」キーに "RETURN" が割り当てられています。 注意事項 native code を使用しているので、システムを破壊する恐れがあります。 QUASI88 の使い方はネットで適当に調べてください。 プログラムを終了させる場合、メニューの「EXIT」を選択した上で、アプリケーションを強制停止してください。 終了だけでは、バックグランドで動作したままのようなので。。。 メニュー画面が細かいので、小さい画面で使う場合、タッチペンが必要です。 指での操作は難しいかと。。。 動作が遅かったり、動作しないかもしれません。 その他、予期しない不具合があるかもしれません。 既知の不具合 「EXIT」ボタンでプログラムを終了させた後、「設定」⇒「アプリケーション」⇒「アプリケーション管理」⇒「QUASI88」⇒「強制停止」でなければ完全に終了しません。(原因不明ですが、バッテリーを無駄に消費しかねないので、注意してください。) たまに「音量」の設定がおかしくなります。 たまに仮想キーによるキー入力がおかしくなります。 (上記 2 件、メモリの不正アクセスがあるのかも・・・) 「ホーム」ボタンを使ってホーム画面に戻らないでください。 他の Intent? Activity? が実行されると、画面が真っ白になってしまうようで・・・ 同様に「電源」ボタンは使わないでください。 ボタンの配置がおかしくなり、もう、どうしようもなくなります。 keyconf.rc quasi88.rc に -keyboard=0 のオプションを書き足すと keyconf.rc を読み込むようになります。 keyconf.rc は最初に [Android] を書きます。 左側に Android のキーコード、右側に PC88 のキーコードを書きます。 Android のキーコードは KeyEvent を見てください。 PC88 のキーコードはオリジナルの keyconf.rc を参考にしてみてください。 # keyconf.rc [Android] KEYCODE_PAGE_DOWN KEY88_F9 KEYCODE_PAGE_UP KEY88_F10 関連リンク ONScripter on Anroid のページ http //onscripter.sourceforge.jp/android/android.html PC-8801 Emulator for X11/SDL - QUASI88 - http //www.117.ne.jp/~show/pc8801/pc88emu.html 謝辞 プロジェクトのベースとして ONScripter on Android を使わせていただきました。ありがとうございます。 Showzoh Fukunaga 氏が作成・公開されている SDL 対応 PC-8801 エミュレータの QUASI88 を使わせていただきました。ありがとうございます。 その他、有用なソフトを公開されている方々にもこの場を借りてお礼を申し上げたいと思います。